import request from '@/utils/request'

/**
 * 统计数据相关API
 */
export default {
  /**
   * 获取用户学习统计
   * @param {Number|String} userId - 用户ID
   * @returns {Promise}
   */
  getUserStatistics(userId) {
    return request({
      url: `/users/${userId}/statistics`,
      method: 'get'
    })
  },

  /**
   * 获取当前用户学习统计
   * @returns {Promise}
   */
  getCurrentUserStatistics() {
    return request({
      url: '/users/me/statistics',
      method: 'get'
    })
  },

  /**
   * 获取用户单词学习进度
   * @param {Number|String} userId - 用户ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUserWordProgress(userId, params) {
    return request({
      url: `/users/${userId}/word-progress`,
      method: 'get',
      params
    })
  },

  /**
   * 更新用户单词学习进度
   * @param {Number|String} userId - 用户ID
   * @param {Number|String} wordId - 单词ID
   * @param {Object} data - 进度数据
   * @returns {Promise}
   */
  updateWordProgress(userId, wordId, data) {
    return request({
      url: `/users/${userId}/words/${wordId}/progress`,
      method: 'put',
      data
    })
  },

  /**
   * 获取用户学习日历数据
   * @param {Number|String} userId - 用户ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUserLearningCalendar(userId, params) {
    return request({
      url: `/users/${userId}/learning-calendar`,
      method: 'get',
      params
    })
  },

  /**
   * 获取用户学习时长统计
   * @param {Number|String} userId - 用户ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUserLearningTime(userId, params) {
    return request({
      url: `/users/${userId}/learning-time`,
      method: 'get',
      params
    })
  },

  /**
   * 记录用户学习活动
   * @param {Object} data - 活动数据
   * @returns {Promise}
   */
  recordLearningActivity(data) {
    return request({
      url: '/statistics/learning-activity',
      method: 'post',
      data
    })
  },

  /**
   * 获取用户错误率最高的单词
   * @param {Number|String} userId - 用户ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getMostMistakenWords(userId, params) {
    return request({
      url: `/users/${userId}/most-mistaken-words`,
      method: 'get',
      params
    })
  },

  /**
   * 获取用户测验统计
   * @param {Number|String} userId - 用户ID
   * @param {Object} params - 查询参数
   * @returns {Promise}
   */
  getUserQuizStatistics(userId, params) {
    return request({
      url: `/users/${userId}/quiz-statistics`,
      method: 'get',
      params
    })
  }
} 